1. Field of the Invention
This invention pertains to the field of performance monitoring of database systems.
2. Description of the Related Art
Database Administrators and developers often require information regarding the performance of database systems. This so-called "Monitor" information is used for problem determination and performance tuning of the databases and the applications accessing them. This Monitor information includes information on the applications connected to each database, the status of these applications, throughput, response time, hit ratio for caching, number of locks in use, etc.
Database Management Systems (DBMS) for most relational databases keep track of Monitor Information by writing it as data to internal data structures. Some information is tracked in this manner specifically for performance monitoring purposes. Other information is tracked as a necessary feature of the DBMS (eg: the DBMS maintains lists of locks not only for monitoring purposes, but also because the DBMS needs to know which records are locked in order to prevent write access to locked records). This information is accessed through specialized queries (function calls) of these internal data structures.
There are a number of limitations associated with these types of queries. These queries are not very flexible. Only certain specific function calls are included with the DBMS, and the data returned can not easily be reported or manipulated. Additionally, these queries are not easily extendable or updateable, as additional function call code needs to be written for each new query. Furthermore the client-server relationship is not predefined for these function calls and therefore needs to be specifically tailored for each function call made at a non-local node. Finally, these function calls require implementation of a scheme for limiting access to the Monitor Information in order to prevent security breaches.
Any system which provides such monitor information should be designed to minimize its utilization of system resources. The Monitor system must not significantly degrade the performance of the systems it is trying to monitor.